{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本书配套视频课程：[解剖深度学习原理，从0实现深度学习库](https://ke.qq.com/course/2900371?tuin=ac5537fd) \n",
    "\n",
    "更多代码或学习资料将向购买视频课程或书的学生提供。\n",
    "\n",
    "\n",
    "+ 博客网站：[https://hwdong-net.github.io](https://hwdong-net.github.io)\n",
    "+ youtube频道: [hwdong](http://www.youtube.com/c/hwdong)\n",
    "+ bilibili网站：[hw-dong](https://space.bilibili.com/281453312)\n",
    "\n",
    "## 1.3 微积分\n",
    "\n",
    "下面的代码通过在$[0,10]$采样一些$x$值，得到其对应的$f(x)=2x+1$值，通过绘制这些点$(x,f(x))$可以在直接坐标系更清楚地了解$x$和$f(x))$之间的关系。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAThElEQVR4nO3df5BV9XnH8c8nCEKV/FpWG8UAjYmDUapmZfzR0aYi1TRZ2iTOGLGT1jGMkybFVCcSTTWFyR9OxmgonVFmUIvSZjIx2KYVazKStDpVWRCViDoEia4/mmWZGBFWwDz9g11clrvL3XvO3XO+575fM8xw716+93tWffzy2ee5xxEhAEC63lP0BgAA2VDIASBxFHIASByFHAASRyEHgMQdUcSbTpkyJaZPn17EWwNAstavX789ItqHPl9IIZ8+fbq6urqKeGsASJbtX9V6nmgFABJHIQeAxFHIASBxhWTktezdu1fd3d3q6+sreiuVNHHiRE2dOlXjx48veisAclaaQt7d3a3Jkydr+vTpsl30diolItTb26vu7m7NmDGj6O0AyFlpopW+vj61tbVRxJvAttra2vjbDlBRpSnkkijiTcT3Fije7j3vaNMrb2j3nndyXbc00QoAVNnuPe9o7m0/1/Y392jK5Al66OrzNWnCuFzWLtWJHACq6pc9O7X9zT3avfcdbX9zj37ZszO3tSnkgyxdulQzZ87U/Pnzdf/992vx4sUjvv7aa6/Vww8/XPf6q1at0qxZszRr1iydc845euqpp7JuWcuWLdOJJ54o29q+fXvm9QA0x0faj9aUyRM0afw4TZk8QR9pPzq/xSNizH994hOfiKGeffbZQ54bayeddFJs3bo1IiLOPvvs6OnpGfH127ZtiwsvvLDu9R999NHYsWNHREQ88MADMXv27Lr/7F133RU33XTTIc9v2LAhXnzxxZg2bdph91uG7zHQCna9vS+e6f5N7Hp7X13P10tSV9SoqUmfyPP8wcFVV12lrVu3qrOzUzfffLOOPPJITZkyRZI0b948rVy5UpJ0xx13aP78+ZKkadOmqbe3V6+//npd73HOOefoAx/4gCTprLPOUnd3tyRp3bp1mjVrlvr6+vTWW2/p4x//uDZt2lTXmqeffrr4ADKgPAay8Etu/1/Nve3nB9WnSRPG6ZTj35dbNj4g2R925v2Dg9tvv10PPvig1q5dqx//+Mc644wzDnxt+fLlOvfcczVjxgzdcssteuyxxw587YwzztCjjz6qz33uc/ra176mtWvXHrL2pZdeqkWLFh303IoVK3TxxRdLks4880x1dnbqm9/8pnbv3q3LL79cp5xySsPXAqA4tbLwU45/X1PfM9lC3sxv1muvvab29nc/KfLYY4/V4sWL9clPflKrV6/WBz/4wQNfO+aYY/Tqq69Kkm699da61l+7dq1WrFihRx555MBzN954o84880xNnDhRS5culST19vbqggsukCTt2LFDe/bs0f333y9Juueee3Tqqadmu1AAme3e845+2bNTH2k/WpMmjDuQhQ8cMnPNwoeRbCFv5jdr0qRJeuONNw567plnnlFbW9uBoj2gr69PkyZNkqS6TuRPP/20rrzySq1Zs0ZtbW0HXrNjxw7t3LlTe/fuVV9fn4466ii1tbVp48aNkqS7775b27Zt07e+9a3crhNANsMlAw9dff5Bxb3Zki3kzfxmzZw5U/fee++Bx0888YTWrFmjJ598Uueff77mzp17YNT9hRde0CWXXCLp8Cfyl156SZ/97Gd1zz336GMf+9hBX1uwYIGWLFmiF198Udddd52WLVuW2/UAaI7hkoGBLHysJP3Dzmb94OC8887Tk08+qYjQ22+/rS996Uu68847ddxxx+mWW27RFVdcoYjQ3r17tWXLFnV0dNS17uLFi9Xb26svf/nLOu200w78uZUrV+qII47QZZddpkWLFmndunV1tzUuXbpUU6dOVXd3t2bNmqUrr7yy4esGMLKhDRZNbSkcBe/vaBlbHR0dMfQOQZs3b9bMmTPHfC/DWbhwoT7zmc9ozpw5w75m9erV2rBhg5YsWTKGO2tc2b7HQEqGi1GGZuTNZHt9RBxycszlRG77/bZ/aPs525ttn53HukW6/vrrtWvXrhFfs2/fPl1zzTVjtCMARRpuMrNZycBo5JWRf0/SgxHxedsTJP1eI4tERGk+3OnYY49VZ2fniK8ZyMZTUMTfvIAqKaIbpV6ZC7nt90o6T9JfSVJE7JG0Z7TrTJw4Ub29vXyUbRNE/+eRT5w4seitAMkYGpkU0Y1SrzxO5H8gqUfSXbb/UNJ6SQsj4q3RLDLwA7uenp4ctoShBu4QBODwhsvDx7obpV55FPIjJJ0h6asR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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "x = np.arange(-3, 3, 0.1) #\n",
    "y = 2*x+1\n",
    "\n",
    "plt.scatter(x, y, s=6) \n",
    "plt.legend(['f(x)=2x+1'])\n",
    "\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "x = np.arange(-3, 3, 0.1) #\n",
    "y = np.sin(x)\n",
    "y0 = np.full(x.shape, 2) \n",
    "y1 = 2*x \n",
    "y2 = x**2 \n",
    "y3 = np.exp(x) \n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(20, 4, forward=True)\n",
    "\n",
    "plt.subplot(1, 5, 1)\n",
    "plt.scatter(x, y, s=6) \n",
    "plt.legend(['sin(x)'])\n",
    "\n",
    "plt.subplot(1, 5, 2)\n",
    "plt.scatter(x, y0, s=6) \n",
    "plt.legend(['$2$'])\n",
    "\n",
    "\n",
    "plt.subplot(1, 5, 3)\n",
    "plt.scatter(x, y1, s=6) \n",
    "plt.legend(['$2x$'])\n",
    "\n",
    "plt.subplot(1, 5, 4)\n",
    "plt.scatter(x, y2, s=6) \n",
    "plt.legend(['$x^2$'])\n",
    "\n",
    "plt.subplot(1, 5, 5)\n",
    "plt.scatter(x, y3, s=6)\n",
    "plt.legend(['$e^x$'])\n",
    "plt.axis('equal')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$y  x^2$和$y = e^x$可以通过加法运算产生新的函数$y = x^2+ e^x$。对于$x=2$，这个新函数的函数值$y = 2^2+e^2 = 4+e^2$。\n",
    "\n",
    "下面代码绘制了这3个函数的曲线："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQQAAAD4CAYAAAAKL5jcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dd3hUVf7H8fdJrwTSKAmQ0EMNEIpIFRRFkaK7iugKUsTVjeuuXVwsqOhvBVdsi6K4iiIgggpIL6IhEAghgRBCT4M00tskc35/TIiICZkkM3MnM+f1PPNMwtx755OQfHPvOeeeI6SUKIqiADhoHUBRFOuhCoKiKDVUQVAUpYYqCIqi1FAFQVGUGk6WfDN/f38ZEhJiybdUFAU4dOhQtpQyoL7tLFoQQkJCiImJseRbKooCCCHOG7OdumRQFKWGKgiKotRQBUFRlBoWbUOojU6nIzU1lbKyMq2jWB03NzeCg4NxdnbWOopiJzQvCKmpqXh7exMSEoIQQus4VkNKSU5ODqmpqYSGhmodR7ETml8ylJWV4efnp4rBNYQQ+Pn5qTMnxaI0LwiAKgZ1UN8XxdKsoiAoSnMVnRHNJ/GfUF5VrnUUk1AFQVGaYNv5bSyPX46zg200/KqCoChNkJibSHff7jgI2/hVso2vwkzWr1/PnDlzmDRpElu3btU6jmJlqvRVnMw9SZhvmNZRTKbegiCE+FQIkSmESLjq33yFENuEEMnVz63MG1MbkydP5uOPP2bFihV88803WsdRrMy5gnOUVZUR5mdHBQFYAdx6zb89C+yQUnYFdlR/brMWLlzIo48+qnUMxcok5iYC0MO3h8ZJTKfegiCl3AvkXvPPk4DPqz/+HJhs4lwWN2bMGLZt2wbA/PnziYyMRErJM888w2233caAAQM0TqhYmxM5J3B1dKWTTyeto5hMY0cqtpZSZgBIKTOEEIF1bSiEmAvMBejQoUMj3878Xn75Zf71r3+RmZlJbGws33//PUuXLmX79u3k5+dz6tQp5s2bp3VMxYok5ibStWVXnBw0H/BrMmb/SqSUy4BlABEREded8/3lH45xPL3ApO/fs10LFkzsVe92I0eORErJ4sWL2b17N46OjkRGRhIZGWnSPIptkFKSmJvI+JDxWkcxqcb2MlwSQrQFqH7ONF0kbcTHx5ORkYGrqyve3t5ax1GsXHpxOoUVhTbVwwCNP0P4HngQWFT9vMEUYYz5S24OGRkZTJ8+nQ0bNhAZGcmWLVsYP962Kr9iWok5hgZFWysIxnQ7fg1EAd2FEKlCiFkYCsHNQohk4Obqz5ulkpISpk6dyttvv01YWBgvvvgiL730ktaxFCuXmJuIo3Cka6uuWkcxqXrPEKSU0+p4aayJs2jCw8ODqKioms9Hjhz5u88VpTYnck8Q6hOKm5Ob1lFMSo1UVJRGSMxJtLnLBVAFQVEaLLs0m6zSLJsakHSFKgiK0kAnck8A2NSQ5StUQVCUBrrSw9Ddt7vGSUxPFQRFaaDE3ESCvYJp4dJC6ygmpwqCojTQidwTNnm5AKogKEqDFFYUklKYYpMNiqAKgqI0yJUGRVUQ7FBWVhYzZ84kNTWVhx56CJ1Op3UkRWMJ2YZ5gnr799Y4iXnYzn2bZhAQEECHDh345z//yfLly9UKSgoJ2QkEeQXh6+ardRSzUGcI1c6ePcukSZOIiIhg8ODBJCUlUVRUxJkzZ3BycsLLy0vriIoVSMhOsNmzA1BnCIBhfcnZs2ezbNkyOnfuzKZNm1i0aBFCCBYuXMjq1avZvXs3o0eP1jqqoqGc0hzSi9OZ1qOu23uaP+sqCJufhYvxpj1mmz5w2/Vvxly/fj3Hjh3jrrvuAqCyspIRI0bw4YcfAvDUU0+ZNpPSLB3LOQbYbvsBWFtB0EhcXByvvfYas2bN0jqKYsXis+NxEA709OupdRSzsa6CUM9fcnNp27YtW7ZsYebMmTg4OBAfH0/v3r3V2orK7yRkJ9DJpxMezh5aRzEb1agIPPTQQ+j1esLCwggPD+fNN99UxUD5HSklCdkJ9PHvo3UUs7KuMwSNuLu7s3btWq1jKFYsrSiNvPI8m24/AHWGoChGsfUBSVeogqAoRkjITsDFwcXm5lC8lioIimKE+Ox4evj1sJll3+uiCoKi1KNSX0libqLNNyiCKgiKUq8z+WcorSyll58264ZYkioIilKPY9mGEYrqDEFRFOKz4/F29qZDC+tdrNhUVEFQlHokZCfQy78XDsL2f11s/ytUlCYorSwl+XKyXVwugCoI17V+/XrmzJnDpEmT2Lp1q9ZxFA0kZCdQKSsJDwzXOopFqIJwHZMnT+bjjz9mxYoVfPPNNyY/vpqizfrFZcUB0Ne/r8ZJLEMVBCMsXLiQRx99tM7Xd+/ezYwZMxp83KunaHv33XfVFG1WKDYzllCfUFq6tdQ6ikU0qSAIIZ4QQhwTQiQIIb4WQjTbpXDHjBnDtm3bAJg/fz6RkZFIKXnmmWe47bbbGDBgQKOPXdv0bICaos3K6aWeuKw4+gf21zqKxTS6IAghgoBIIEJK2RtwBO41VTBLe/nll3nttddYuXIlsbGxLFmyhKVLl7J9+3bWrl3LRx991KjjXpmebfHixcTExPDSSy+xaNEiKisriYyMZOHChYSHh7N7927TfkFKk50rOEd+eT7hAfbRfgBNv/3ZCXAXQugADyC9KQd788CbNfPem0oP3x48M/iZercbOXIkUkoWL17M7t27cXR0JDIyksjIyDr3GTJkCOXl5RQVFZGbm0t4uOEH580332T8+PFA3dOzOTk58emnnwJqijZrFZdpaD/oF9hP4ySW0+iCIKVME0L8G7gAlAJbpZR/aIoXQswF5gJ06GC9Azvi4+PJyMjA398fb29vo/aJjo4GDG0IK1asYMWKFX/YRk3P1nzFZsbi4+pDaItQraNYTKMLghCiFTAJCAXygDVCiPullF9evZ2UchmwDCAiIkJe75jG/CU3h4yMDKZPn86GDRuIjIxky5YtNX/hm0pNz9Z8Hck6QnhAuF39XzWlUXEccFZKmSWl1AHrgGGmiWU5JSUlTJ06lbfffpuwsDBefPFFXnrpJZMdX03P1jzlleVxNv+s3Yw/uKIpbQgXgKFCCA8MlwxjgRiTpLIgDw8PoqKiaj4fOXLk7z43xujRo+tcs0FNz9Y8XRl/0C/AftoPoAlnCFLKaGAtcBiIrz7WMhPlUhRNHck6gpNwsvkp067VpF4GKeUCYIGJsiiK1TiSeYQevj1wd3LXOopFqZGKinINnV5HQnaC3bUfgJUUBCmv2/lgt9T3RRtJuUmUVZWpgqAFNzc3cnJy1A//NaSU5OTk4ObWbEeDN1tHMo8A9tegCFawUEtwcDCpqalkZWVpHcXquLm5ERwcrHUMuxObGUsbzza08WyjdRSL07wgODs7ExpqPyPBFOsmpSTmUgzD2jW7ITUmofklg6JYk7P5Z8ktyyWidYTWUTShCoKiXCXmkmFs3aA2gzROog1VEBTlKgcvHiTQPZD23u21jqIJVRAUpdqV9oOINhF2e7+JKgiKUu1cwTmyS7OJaGOf7QegCoKi1KhpP2htn+0HoAqCotSIuRiDv7s/HVt01DqKZlRBUBSq2w8uxjCo9SC7bT8AVRAUBYCUwhQySzPtuv0AVEFQFMDQ3QiogqB1AEWxBjGXYvBz87OrCVVrowqCYveklBy8eNCuxx9coQqCYvdSi1K5VHLJrrsbr1AFQbF7TWo/yEuB7FMmTqQdVRAUu7c/fT8B7gF08unU8J0PLIMPhkJ5oemDaUAVBMWu6aWe/Rn7Gdp2aOPaD5I2Q+gIcDVutS9rpwqCYtdO5J7gcvllbmh3Q8N3zk6GnGToPsH0wTSiCoJi16LSDYvyNKogJG02PHe71YSJtKUKgmLXojKi6NqqK/7u/g3fOWkztOkDLW1n7gRVEBS7VVZZRuylWG5o24izg+IcSNlvU5cLoAqCYscOXzpMhb6icZcLyVtB6qH7baYPpiFVEBS79Wv6rzg7ODOw9cCG75y0CbzbQlvbWsxFFQTFbkVlRDEgcEDD12/UlcGpHYazAxsb6qwKgmKXskuzOXn5JEPbDW34zuf2ga7Y5toPQBUExU7tz9gPNLa7cRM4e0LICBOn0l6TCoIQoqUQYq0Q4oQQIlEI0YjvrqJYXlR6FC1dWxLmG9awHaWEkz9Bl5vA2fbW3WzqGcJ/gJ+klD2AfkBi0yMpinlJKYlKj2Jo26E4iAb+CmTEQUEadLOt3oUrGr22oxCiBTASmAEgpawAKkwTS1HMJzkvmazSrMZdLhxfDw5ONtfdeEVTzhA6AVnAZ0KIWCHEJ0IIz2s3EkLMFULECCFi1ArPijXYm7oXgOFBwxu2o5SQsA46jQYPX5PnsgZNKQhOwADgQyllf6AYePbajaSUy6SUEVLKiICAgCa8naKYxt7UvfT060mgR2DDdkyPhbzz0GuKeYJZgaYUhFQgVUoZXf35WgwFQlGsVl5ZHnFZcYwMHtnwnY99Bw7O0ON20wezEo0uCFLKi0CKEKJ79T+NBY6bJJWimMm+9H3opZ5RwaMatqOUcGw9dB4D7q3ME84KNLpRsdrfgJVCCBfgDDCz6ZEUxXz2puzFz82Pnn49G7Zj2mHIvwBjnjdPMCvRpIIgpTwC2PdE9kqzUamvZF/6PsZ2GNvw7sZj68DRxWZ7F65QIxUVu3Ek8wiFFYUNv1zQ66svF8aCe0vzhLMSqiAodmNv2l6cHJwaPv4gLQYKUm26d+EKVRAUu7E3ZS8RrSPwdP7DcJnrO/YdOLra/OUCqIKg2InUwlRO559uxOVCleFyocs4cGthnnBWRBUExS5cGZ3Y4IJwdi8UpkOfu82QyvqogqDYhb2pewlpEUL7Fg2cEPXIV+DmY5NzH9RGFQTF5hVUFBB9MZrR7Uc3bMeyAkj8AXpNtclbnWujCoJi8/ak7KFSX8m4juMatuPxDVBZCuHTzRPMCqmCoNi8HRd2EOgRSB//Pg3bMe5r8OsCwfYz9k4VBMWmlehK+CXtF8Z1GNew0Ym5Z+H8L9Bvms1NpHo9qiAoNm1f2j7KqsoafrkQtwoQ0O9es+SyVqogKDZt+/nt+Lr5MiCwAXfm6/WGy4XQkeATbL5wVkgVBMVmlVeVsyd1D2Paj8HRwdH4HS9EGSZCCb/PfOGslCoIis3an76fksoSbu54c8N2PPIVuHhB2ETzBLNiqiAoNmvb+W14u3gzuM1g43cqvQwJ30Lvu8Clgfc82ABVEBSbpNPr2JWyizHtx+Ds6Gz8jnGrDGMPBs0yXzgrpgqCYpMOXjxIQUUBYzuMNX4nKeHgcgiKgLb9zBfOiqmCoNikbee34e7kzrB2w4zf6exeyEmGQbPNF8zKqYKg2BxdlY6t57YytsNY3JwacA9CzHLDBKp2MBFKXVRBUGzOz2k/U1BRwO2dGjBdekEGnNhouG/BTm5kqo0qCIrN2XhmI75uvgxt24Cl3g//D/SVEPGQ+YI1A6ogKDalqKKIPal7GB8yHicHIycVr6qEQyug803g19ms+aydKgiKTdl+YTvlVeUNu1w4udkwK1KEfXY1Xk0VBMWmbDyzkfbe7enr39f4naLeB58O0O1W8wVrJlRBUGxGVkkWBy4eYELoBISxtyynHDTcu3DDX8GxqQuZNX+qICg2Y/PZzeilngmdGjD/4a/vGuZM7P+A+YI1I6ogKDZj49mNhPmG0cmnk3E75J4xzJkYMQtcvcwbrplQBUGxCWfzz3I853jDGhOjPgAHJxjysPmCNTN2XRAKKgo4dOmQ1jEUE1h/aj2OwpEJoUZeLpTkQuyX0Pce8G5j3nDNSJMLghDCUQgRK4T40RSBLOmVqFeI3BlJYUWh1lGUJtDpdWw4tYERwSMI8AgwbqeDnxjuahz2mHnDNTOmOEN4HEg0wXEsbmbvmRRUFPDl8S+1jqI0wd7UveSU5XBX17uM20FXCgeWQddbIDDMvOGamSYVBCFEMHA78Ilp4ljWyQs+tHMezP+O/4+8sjyt4yiNtC55HQHuAQwPGm7cDodWQHEW3Pi4WXM1R009Q3gHeBrQ17WBEGKuECJGCBGTlZXVxLczrXPZJSQnDaNYV8yKYyu0jqM0wsXii+xL28fkLpONG6qsK4V9SyBkBIQYWUDsSKMLghDiDiBTSnndVjkp5TIpZYSUMiIgwMjrOwt56MZQPAnGXwzhqxNfkV2arXUkpYE2nNqAXuqZ0sXIW5ZjPoOiSzD6WfMGa6aacoZwI3CnEOIcsAq4SQjRrC7GfTycmXljCGdP3Uh5VQXL45drHUlpAL3U892p7xjSZohxi7hWlKizg3o0uiBIKZ+TUgZLKUOAe4GdUsr7TZbMQh4aHoqnaEsAw1idtJqLxRe1jqQYKTojmrSiNKZ2nWrcDoc+g+JMGP2ceYM1Y3Y9DgGgpYcLM4aFcDr5BvRSz3+P/lfrSIqR1iWvo4VLC8Z2NGLexIoS2PeOYfGVkBvNH66ZMklBkFLullLeYYpjaWHW8FA8HQIJFGP4Lvk7zuSd0TqSUo/s0mx2XNjBxM4TcXV0rX+HmE/V2YER7P4MAaCVpwsPDuvIyaQhuDq68c7hd7SOpNRjzck16PQ67ul+T/0blxUY2g5CR0HHBky6aoTc4gpScktMekwtqYJQbfbwTng4+BCov41dKbvUkGYrpqvSsTppNTcG3UioT2j9O+xbAiXZMO4lk2dZujOZm5fs4XJxhcmPrQVVEKq18nThoeGhxB/vi69rAItjFiOl1DqWUost57eQXZrN/WFGtGHnpcD+D6DPnyGoAQu+GiEtr5SV+y8wOTyIVp4uJj22VlRBuMrsEZ3wcfOkRekdHM0+yrbz27SOpNTiq8SvCGkRYtyaCzsXGhZgGfuiyXO8uz0ZgMixXU1+bK2ognAVH3dn5o3qTHxSV4I8Q/nP4f+gq9JpHUu5SlxWHPHZ8dwXdh8Oop4f3/QjcHSVYTaklh1MmuN0VhFrD6dy/9COtGvpbtJja0kVhGs8OKwjAd7uOOTewYXCC6xKWqV1JOUqKxNX4uXsxZ2d77z+hlLC1vng4QfDnzB5jiXbTuLq5MBfx9jWLM2qIFzDw8WJv93UheNn2hHmM4gPj3xIblmu1rEU4FLxJbad28aUrlPwdK5nZeaTP8G5nw3djG4+Js1xLD2fH49mMGt4KP5eRnR5NiOqINTi3kEdCG7lQX7abZRWlvLu4Xe1jqQAq0+upkpWMa3HtOtvqCuFn54F/24wcIbJc7y99SQ+7s7MHmHkVG3NiCoItXBxcuCJcd1ISvFgqP+drEtex/Gc41rHsmvFumJWnVjFmPZjaO9dz30LPy+Gy+dgwr+hIUvBG+HguVx2nshk3qjO+Lib9tjWQBWEOkzuH0SPNt7EHxtMS9eWLDqwSHVDamh10moKKgqY3aeelZmzT8Ev7xi6GTuNMmkGKSULNybSuoUrM4aFmPTY1kIVhDo4OgiemxBGag4MbDGd2MxYNp/drHUsu1ReVc7nxz5naNuh9AnoU/eGUsLGf4CTO4x/zeQ5fjyaQVxKHk/e0h13F0eTH98aqIJwHaO6BTCiqz87YzrSrWUP3j70NsW6Yq1j2Z3vkr8jpyyHuX3nXn/DhG/h7B7DmAOvQJNmKK+s4s2fThDWtgVTBwSb9NjWRBWEejw/IYyC0io6cj+ZJZm8f+R9rSPZFZ1ex2cJnxEeEE5E64i6NyzLhy3PQ7v+ZlnB+X+/nif1cinPT+iBo4ORq0I1Q6og1COsbQvuHhDMjwdcuK3jFFYmriQxp1nOKdssbTyzkfTidOb0nXP95dl+et4wT+Lti8HBtKfzeSUVLN2ZXH3GaF2zfpmaKghG+Oct3XFwgML0W2jp2pKXo16mSl+ldSybV6WvYnn8cnr49mBE0Ii6N0z6CY58aRiAZOL7FQCW7jxFUXklz0+w/RmaVUEwQhsfN+aO6MTmo/n8OfRRjuUc45ukb7SOZfO2XdjGuYJzzO4zu+6zg5Jc+CESAnvBqGdMnuF0VhH/izrHnwa2p3sbb5Mf39qogmCkh0d1pk0LNzZHt+WGtsN4N/ZdLhVf0jqWzdLpdbwf+z6dfTozrsO4ujfc9BSU5MCUj8DJtKMGpZS88sNx3JwceXJ8d5Me21qpgmAkT1cnnr89jIS0AsI9HqJSX6nGJpjRd8nfca7gHI8PeBzHutoEjq2HhLWGM4O2fU2eYeeJTPaczOLxcV0J8LatIcp1UQWhASb2bcvgEF8+2VXAzJ4Ps/3Cdrac26J1LJtTWlnKR3Ef0T+wP6Pbj659o4J0w5iDdv3NcvNSeWUVr/x4nC6BXjxoo4OQaqMKQgMIIVhwZ0/ySiq4lDKEPv59WBi9UK3nYGIrE1eSVZrF3wf8vfa2g6pK+HY26MpgyjKTD08GWL7vLOdzSlgwsSfOjvbza2I/X6mJ9Grnw31DOrAyOpVZ3Z+jVFfKq1GvqksHE8kvz+fT+E8ZFTyKAa3r6DHY/Qac/wXuWAIB3Uye4WJ+Ge/tPMUtPVvbfDfjtVRBaIR/3twdL1cnlu0o4rH+j7EzZSebzm7SOpZN+CT+E4p0RUQOiKx9g1M74Oe3of8D0M+ICVYb4bVNiVTqJS/e0dMsx7dmqiA0QitPF565tQfRZ3PxLLuJfgH9eD36dbJKrGvtyuYmvSidrxK/YmLniXRrVctf/oIMWDfXsGLzbW+ZJcOek1n8EJfOX0d3pr2vh1new5qpgtBI9w5qz8COrXhjUxJPDVhARVUF83+Zj17Wue6tUo+3Dr6Fo4Mjj4U/9scXK8thzQzQlcCfVoCL6X9ZSyuqmL8+nk7+njwy2rZmQjKWKgiN5OAgeH1KHwrLKvni5xKeGvQUv6b/yhfHv9A6WrP0c+rP7Liwg7l959LWq+3vX5QSfvwHpOyHSe9BgHnGBCzdmUxKbimvTemDq5Nt3s1YH1UQmqB7G2/mjuzE2kOpBDvexLgO43jn8Dscyz6mdbRmpbyqnDcOvEFIixAe7PngHzfY/4FhaPLIp6H3XWbJkHSxkGV7z3D3wGBu6OxnlvdoDlRBaKK/3dSVDr4ezF+fwHODX8Tf3Z+n9z6tbpNugM8SPiOlMIXnhzyP87VdiMnbDJOlhk002zJser3k+e/i8XZzsov7Fa5HFYQmcndx5NXJvTmTXcyXv2SxaMQiUotSeT36da2jNQuphal8Ev8J40PGc0O7G37/YuYJWPuQ4T6FKf8FB/P8uK48cIFD5y/zwu098bWRBVcaSxUEExjVLYCp/YP4YPdpXCu7MK/vPL4//T3rktdpHc2qSSlZdGARDsKBJyOe/P2L+anw5VRwcoNpX4NLPbMsN1JKbglvbEpkRFd/7hoQZJb3aE4aXRCEEO2FELuEEIlCiGNCiMdNGay5WTCxF76eLjy5Jo4ZPWdzQ9sbWLh/IfFZ8VpHs1rfn/6ePal7eCz8Mdp4tvnthZJc+GIKlBfCA+ugZT2TqjaSXi95eu1RHIRg0V19rz/fgp1oyhlCJfBPKWUYMBR4VAhhfyM5qvl4OPPG1D6cuFjIh7vP8NbItwj0COSJ3U+QU5qjdTyrk1GUwaIDixgQOIDpYdN/e6G8CFb+CS6fh2mroM115lBsopXR54k6k8MLt4cRZEOrLzVFowuClDJDSnm4+uNCIBGw63OusWGtmTogiPd3nyY1R7Bk9BLyyvN4cs+T6PRqSbgr9FLPi7++SJWsYuHwhb/dzVhZDqv/AumH4U+fQciNZsuQklvCG5tPMKKrP/cOMs8ZSHNkkjYEIUQI0B+INsXxmrMFd/TCr/rSoZNPNxbcsICYSzG8HfO21tGsxqoTq4jOiOapQU/9tsZCZTl88wCc3gET34Uet5vt/fV6yVNr49SlQi2aXBCEEF7At8DfpZQFtbw+VwgRI4SIycqy/aG9V186vL31JBM7T+T+sPtZmbiSr098rXU8zZ3LP8eSQ0sYHjScu7vebfhHXRmsmg7JW+COd2DAA2bNsHzfWfafyWW+ulT4gyYVBCGEM4ZisFJKWWuTupRymZQyQkoZERBgH3eOjQ1rzf1DO7Bs7xl+Ts7iyYgnGR08mkUHFrHrwi6t42mmrLKMp/c+jYujCy8Pe9nwl1lXCqvug1PbDWcGETPNmiEhLZ+3tpxgfK/W3KMuFf6gKb0MAlgOJEopF5sukm14YUJPugZ68Y/VceSVVPLmyDfp6duTp/c+bZc9D1JKFu5fSGJuIq8Pf51Aj0BDL8JX98DpnXDnUhhYyyhFEyqpqCTy61j8PF1ZNFVdKtSmKWcINwIPADcJIY5UPyaYKFez5+7iyLvT+pNfquPptUdxd3Jn6dil+Ln78djOx0gpTNE6okWtObmGDac3MK/fPEa1HwWFl2DF7XBuH0z+0OyXCQCv/nicsznFLP5zP1rZ+QCkujSll2GflFJIKftKKcOrH2pSgKuEtW3Bc7f1YMeJTL7Yfx5/d38+HPchVbKKuVvncrH4otYRLSIuK443DrzB8KDhPNLvEcg5DctvhuxkQ9dieD2rOZvA5vgMvj6QwrxRnRnWxd/s79dcqZGKZjZjWAijuwewcGMi8an5hPqE8uHYD7lcfpnZW2fb/BwK2aXZ/GP3P2jt0ZpFIxbhkHbYUAwqiuDBH6HbLWbPcCGnhGe+PUrfYB+eGGf6GZZsiSoIZiaEYPGfw/H3dOGRlYfIK6mgT0AfPhr3EZklmczaOstm52QsrCjkke2PUFhRyJLRS/BJ3AifTQBXb5i1DYIHmj1Dma6KeV8eAuD9+wbg4qR+5K9HfXcswNfThfenD+BSQRlPfHMEvV4SHhjOB2M/4GLxReZsnUNuWa7WMU2qvKqcx3c9zqnLp1g88v8IO/A5rH8EOgyBObvAz/wTkEgpeXF9AsczCnjn3nC7nAGpoVRBsJD+HVrxr4m92JWUxXu7TgEQ0SaCpTctJaUwhb9s/guphakapzSNKn0Vz+x9hoMXD7Jw0DMM3/lviP4Qhv4V7v8OPHwtkuObgymsOZRK5E1duKlHa4u8Z3OnCoIF3T+kA1P6B7Fk+0n2nDS0HQxpO4SPb/mYy2WXeWDzAyTlJmmcsmn0Us+r+zPIcj4AAA6fSURBVF9lx4UdPNv5bm7fuAAuRBt6Em59AxydLJIjPjWff31/jBFd/XlctRsYTRUECxJC8NqU3nRv7c3fvjrM6awiAPoH9ufzWz/HUTgy46cZHLx4UOOkjaPT65i/bz7fJn/LnBY9mb59iaG9YM4OCL/PYjkuFZQx538x+Hu68J97+9v08u2mpgqChXm4OPHxXyJwdnRg1oqDXC6uAKBLqy58OeFLWnu05uFtD7M6aXWzWuuhtLKUJ3Y9wQ9nfuBvVd78Le4nCJ8OD+8x6x2Lf8hRUcXsz2MoKNPxyYOD7H7Ck4ZSBUED7X09WPaXgaTnlTHvy0NUVBpmam7j2YbPb/ucwW0G8+r+V3nxlxcpqyzTOG39CioKmLftYfam7uHF3ELmXkpFTP0YJr9vtolNaqPXS/6x+ggJ6fm8e29/erZrYbH3thWqIGhkYEdf3rq7L9Fnc5m/Pr7mbMDH1Yf3x77PvH7z2HB6g9U3Np7OO80DP9zD0UuxvJWZzZ8DB8Oj+6Hvny2eZfG2k2xOuMgLE8IY11M1IjaGKggamtw/iMiburA6JpX3q3seABwdHHk0/FHeu+k9UotSufuHu1lzco3VXUJ8n7SGad/fRV7+eT7KLeLWW5bAfd9Ai3YWz/LNwQu8t+sU0wa3Z9bwUIu/v61QBUFjfx/XjSn9g/j31pOsjD7/u9dGtR/Fmolr6O3fm1eiXmHO1jlWcQ9Eqa6EBZtm8sL+V+hVUszaFkMYMmc/9LsXNLhh6KeEDJ5bF8+obgG8Mqm3ummpCYQl/+pERETImJgYi71fc6Gr0jPvi0PsTMrkvWkDuL3v7xcqkVLybfK3/Dvm3+ilnjl95jA9bDoezpYdaCOlZOeRj3kr7gPSRRVzKlz467h3cAodYdEcV/v1VDYzPjtI76AWfDl7CB4ulunWbG6EEIeklBH1bqcKgnUo01Xxl+UHiE25zKczBtW66vDF4ou8Hv06u1J24e/uz8N9H+aurnf9cS0DMzh7YS+L9jzHr/oCuuj0vND5biJGvmixcQW1OZqax7Rl+wlu5cE3Dw+lpYfqUaiLKgjNUH6pjnuX7edcdjGfzRzE0E61ryAUmxnLO4fe4XDmYYK9gpnWYxqTukzCx9XH5JmOndnKF9FvsqX8Em5S8phvBPfcvAQnC402rMvx9AKmf7IfT1cnvn1kGK1buGmax9qpgtBMZRWWc9/H+0m5XMLyBwdxYx236kop2Ze2j4+OfsTRrKO4OLhwS8gtTOkyhf6B/Zt01lBQUcDPiWv5Jn45sVUFeOr1TPEIZdZN/4d/gPYrGyWk5XP/8mg8nB35eu5QOvpZrmuzuVIFoRnLLirn/k+iOZtdzLK/RDCq2/WnnkvKTWLNyTVsPLORIl0RHk4eDGoziBva3UAf/z60925PS9eWtTa2SSnJKs3iQsEF4rLi2Hv6R+LyT1EFBFVWMb1lH6aMfg0vvy5m+mobJi4ljweWR+Pt5syquUPVDUtGUgWhmcstruD+T6I5lVnERw8MMOrmnBJdCVHpUURlRBGVHsWFwgs1r3k5exHkFYSroysAEklZVRmphamUVpbWbBdWXsFwHYzsNIE+w5/G0bvtH95HK4fOX2bGpwdo5enC13OHqglSG0AVBBuQV1LBA8sPcDyjgDem9OHPDZwUNK0ojeTLyaQUppBSmEJ6UTo6vQ6B4UzBubKM4MIcOlxMpGNpIV292hMw5FFD96Gzdf2ybTt+ib99fZi2Pu58NWcIbX2sK5+1M7YgqD4aK9bSw4Wv5gzhrysP8/S3R0nLK+Xv47oa3c8e5BVEkNc1a+cU50DCt3B0FaQdAgdn6HknDJwJIcM1GUdQn/9FneOl74/RJ7glyx+MwN/LVetINksVBCvn7ebMpzMG8fy6eP6zI5m0vFLemNoHZ8cGjCkry4ekn+DYd3BqG+groXUfuGUh9JsGntY5x6BeL3nzpxP8d+8ZxoW15t1p4WqcgZmp724z4OzowFt39yWolTvvbE/mQm4J703rT+D1utqKMuHkFkj8Ac7sgqoKaBFkmKSk373QupflvoBGyC/V8c/VcWxPvMQDQzvy0p291G3MFqAKQjMhhODv47oR6u/Js9/Gc/vSfbw3rT9DroxV0FdBxhE4tQNO/mS4HADwaQ+D50LPyRA0EBysf7T6sfR8/rryMGmXS1kwsSczhoWo4cgWohoVm6Gki4U88kUM4vIZFvTJZYRjAuLsHii9DAjDL363W6HbeMNcBM3ol2lNTArz1yfQysOF96f3Z2BHbQdA2QrVqGhrqnRwKQFSY+h+/he28wsOLpmQBLmO/rh2vwXPHjdDp9Hg1fyWzMspKudfG46xMT6DYZ39eHdaf9V4qAFVEKyRXg+Xz0J6rOGRdtjwfGW8gHc7HDqNQna8kR/yQnl2bykOxxyYHxLGPZ7+NJ/zAYPN8RnMX59AYVklT9/anbkjOuHUkEZTxWRUQdBaWQFkJRn++l869tujPN/wuqMrtOkNA2dA+0EQPMjQLiAMownuBPoPKOHptUd5dl08G+MzWDCxF10CvTT8ooyTllfK6xsT2RifQZ8gH/79p350b+OtdSy7ptoQLEFfBQVpkHPKsIxZzinIPmkoBAVpv23n4m1o/W/dC9qFQ9twCAwDI+5L0OslX0af5/9+SqJEV8UDQzvy+NiuVrmGYXF5JR/uPs3HP58B4LExXZg3unPDulKVBlEjFS1JXwXFWZCXAvkXqp9T4PI5wyPvgqHb7woXL/DrAgE9IKC74dG6F/h0aHIvQHZROUu2neTrAxfwdnPmkdGdmT6kA95u5r9Fuj5luirWxKTw7s5TZBWWMym8HU/f2kMNQbYAVRBMoaoSSnKgONPQr1+UCUUXofDKIwMK0g3P+srf7+vmA61CoFWo4dk31FAE/LqAV2uzt/wnXSzktU2J7D2ZhberE9OHduShG0OuP3bBTPJKKvgi6jwrfj1HTnEFAzu24oXbwxjQoZXFs9grVRCMcWYPpB82dNeV5FY/50BxNpRkQ2keUMv3x8UbvNsYHi2CDHMItmhnuLZv2d7w7GYdM/4eTc3jv3vOsCkhA2cHB27u1Zqp/YMY2S3ArKfoVXpJ9Jkc1sWmsSk+g5KKKkZ3D2DeqM4MCfVV4woszCIFQQhxK/AfwBH4REq56HrbW11B+PEJiPkUHF3A3dewxJiHn+Hh6Q8e/oZnr0DwDDQ8e7UGV+tvsLvWuexiPvvlLN/HpXO5RIefpwu3923LyK4BDO7kSwsTXFKUVFQSc+4yPydn8UNcBhcLyvBydWJCnzbMvDGUsLbWUSTtkdkLghDCETgJ3AykAgeBaVLK43XtY3UFoSwfHJzA2aNZDd5piopKPXtOZrE+No3tiZcor9TjIKBPcEsiOraic4AXnQM86RTghb+XS51zKOSV6DiTXcTpzGJOZxUReyGP2JTL6Kokzo6CkV0DmNw/iJt7tsbN2VGDr1S5miUGJg0GTkkpz1S/4SpgElBnQbA6bqafcszauTg5cHPP1tzcszXllVXEXsjj11PZ/HI6hy/3n6e8etEYMNRITxcnPF0d8XBxokxXRVFZJcUVleiv+jvi4uhAj7bezBreiWGd/YgIaaVuQmqmmvK/FgRcPSd4KjDk2o2EEHOBuQAdOnRowtsppubq5MjQTn4M7eTHPzB0Xabnl3I6q5gzWUVcLq6gqLyKonIdpTo9bk4OeLo64eXqREsPZzoFeNI5wIvgVh7qxiMb0ZSCUNtPwB+uP6SUy4BlYLhkaML7KWbm4CAIbuVBcCuPeqdtU2xTU5qZU4Grp/AJBtKbFkdRFC01pSAcBLoKIUKFEC7AvcD3pomlKIoWGn3JIKWsFEI8BmzB0O34qZTymMmSKYpicU1qCpZSbgI2mSiLoigaU3eTKIpSQxUERVFqqIKgKEoNVRAURalh0bsdhRCFQJLF3tA4/kC21iGuYY2ZwDpzqUzG6S6lrHc6KksPOE8y5gYLSxJCxKhMxrHGXCqTcYQQRt1VqC4ZFEWpoQqCoig1LF0Qlln4/YyhMhnPGnOpTMYxKpNFGxUVRbFu6pJBUZQaqiAoilLD4gVBCPGqEOKoEOKIEGKrEKKdpTPUkun/hBAnqnN9J4RoaQWZ/iSEOCaE0AshNO3CEkLcKoRIEkKcEkI8q2WWK4QQnwohMoUQCVpnuUII0V4IsUsIkVj9f/e4FWRyE0IcEELEVWd6+bo7SCkt+gBaXPVxJPCRpTPUkukWwKn64zeBN60gUxjQHdgNRGiYwxE4DXQCXIA4oKcVfH9GAgOABK2zXJWpLTCg+mNvDJMQa/q9wjCzmVf1x85ANDC0ru0tfoYgpSy46lNPal34wLKklFullFdWWtmPYfYnTUkpE6WU1jCqs2YyXSllBXBlMl1NSSn3Arla57ialDJDSnm4+uNCIBHD3KNaZpJSyqLqT52rH3X+zmnShiCEeE0IkQJMB/6lRYbreAjYrHUIK1LbZLqa/pA3B0KIEKA/hr/ImhJCOAohjgCZwDYpZZ2ZzFIQhBDbhRAJtTwmAUgpX5BStgdWAo+ZI0NDM1Vv8wJQWZ3LKjJZAaMm01V+I4TwAr4F/n7NGbEmpJRVUspwDGe+g4UQveva1iz3Mkgpxxm56VfARmCBOXJcrb5MQogHgTuAsbL6gkvrTFZCTabbAEIIZwzFYKWUcp3Wea4mpcwTQuwGbgVqbYzVopeh61Wf3gmcsHSGa1UvSfcMcKeUskTrPFZGTaZrJGFY5mo5kCilXKx1HgAhRMCVXjMhhDswjuv8zll8pKIQ4lsMred64DwwT0qZZtEQf8x0CnAFcqr/ab+Ucp6GkRBCTAGWAgFAHnBESjleoywTgHf4bTLd17TIcTUhxNfAaAy3Gl8CFkgpl2ucaTjwMxCP4ecb4HlpmHtUq0x9gc8x/N85AKullK/Uub2lC4KiKNZLjVRUFKWGKgiKotRQBUFRlBqqICiKUkMVBEVRaqiCoChKDVUQFEWp8f/CDhFVLBux8gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "x = np.arange(-2, 2, 0.1) #\n",
    "y = x**2 \n",
    "y2 = np.exp(x) \n",
    "y3 = x**2 + np.exp(x) \n",
    "\n",
    "plt.plot(x, y)\n",
    "plt.plot(x, y2) \n",
    "plt.plot(x, y3) \n",
    "plt.legend(['$x^2$','$e^x$','$x^2+e^x$'])\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.set_size_inches(4, 4, forward=True)\n",
    "#plt.axis('equal')\n",
    "plt.xlim([-3,3])\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制$\\sigma(x)$函数曲线："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\hwdon\\appdata\\local\\programs\\python\\python38\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 12 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "c:\\users\\hwdon\\appdata\\local\\programs\\python\\python38\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 12 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "x = np.arange(-7, 7, 0.1)\n",
    "y = 1/(1+ np.exp(-x) )\n",
    "plt.plot(x, y)\n",
    "\n",
    "plt.legend(['\\frac{1}{1+e^{-x}}'])\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制$\\sigma'(x)$的函数曲线："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "def sigmoid(x):\n",
    "    return 1/(1+np.exp(-x))\n",
    "\n",
    "x = np.arange(-7, 7, 0.1)\n",
    "y = sigmoid(x)\n",
    "dy = sigmoid(x)*(1-sigmoid(x))\n",
    "\n",
    "plt.plot(x, y)\n",
    "plt.plot(x, dy)\n",
    "\n",
    "plt.legend(['$\\sigma(x)$','$\\sigma\\'(x)$'])\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
